1. Field of the Invention
This invention relates to a coordinate detecting method adaptable to a coordinate input device for reading a designated position on an input plane at a high accuracy.
2. Description of the Prior Art
One coordinate inputting and detecting technique of reading a designated position on a plane at a high accuracy is disclosed in Japanese Patent Application No. 60-117761 filed by the present applicant. The coordinate input device of this first prior invention is configured so as to supply scan signals of the same phase concurrently to at least two conductors out of a plurality of parallel conductors embedded in a tablet, detect a signal generated by the scan signals supplied to that conductors by means of a coordinate designating member, perceive that the polarity of the detected signal has reversed, detect signal levels before and after this reversal of polarity, and calculate the position the coordinate designating member is designating on the basis of a coarse region on the coordinate where the reversal of polarity was perceived and the signal levels detected in the coarse region.
The coordinate calculating process disclosed in the foregoing application was proposed supposing that the polarity of a magnetic field reverses at the middle point between two selected conductors. Thus, there was a possibility that the reversing position shifts from the middle point owing to the magnetic field generated by a common conductor for supplying a scan current to each conductor, thereby sometimes resulting in the problem of causing a calculation error. Especially, in the case of the configuration wherein the conductors or loops are selected and scanned in sequence one at a time, the shift of the reversing position causes a very serious problem on the accuracy. This will be described in greater detail hereinafter.
FIG. 11 shows the distribution of detection voltage when the polarity reversing position has no shift. This distribution graph illustrates the interval of 10 mm.ltoreq.X.ltoreq.30 mm as an example, wherein the detection voltages owing to the respective loops reversing in polarity at X32 10, 15, 20, 25, and 30 mm are designated by L.sub.10, L.sub.15, L.sub.20, L.sub.25, and L.sub.30, respectively. Although the distribution of magnetic field strength H.sub.z corresponding to each loop, L.sub.10 -L.sub.30, is positive on the left side in the drawing of the zero point and negative on the right side, the voltage detected represents the absolute value of the magnetic field strength H.sub.z. For convenience of explanation, the regions of 10 mm.ltoreq.X.ltoreq.20 mm, 15 mm.ltoreq.X.ltoreq.25 mm, and 20 mm.ltoreq.X.ltoreq.30 mm are referred to as segment 2 (S.sub.2), segment 3 (S.sub.3), and segment 4 (S.sub.4), respectively.
Consider that a pickup is standing at position T (X=21 mm) in FIG. 11; hence, H.sub.z &lt;0 holds up to S.sub.4, X=20 mm, whereas H.sub.z &gt;0 holds at S.sub.5, X=25 mm. Thus, a system gets a detection voltage V.sub.2 owing to loop L.sub.25. Then, the system selects loop L.sub.15, i.e. the preceding-but-one loop, S.sub.5-2 =S.sub.3, X=25-10=15 mm, and gets a detection voltage V.sub.1 owing thereto. Hence, in this exemplary operation, S.sub.3 corresponding to the region of 15 mm.ltoreq.X.ltoreq.25 mm is selected as an object segment to be interpolated.
The case wherein the polarity reversing position has shifted will now be described with reference to FIG. 12. This example is illustrative of the distribution curve of magnetic field strength H.sub.z having shifted in the positive direction of X, wherein the loops and segments are indicated by the same reference symbols as in FIG. 11. It is also assumed that the pickup is standing at position T corresponding to X=21 mm.
In the case of FIG. 12, H.sub.z &gt;0 holds already at S.sub.4, X=20 mm. Thus, the interpolation region is considered as S.sub.4-2 =S.sub.2, hence, interpolation is going to be performed in the region of 10 mm.ltoreq.X.ltoreq.20 mm.
Accordingly, it will be appreciated that the interpolation calculation is performed with respect to that region being different from the region of the inherent segment, thereby resulting in an erroneous operation. In this example of FIG. 12, it is ideal to perform interpolation in S.sub.3. Thus, even if the discrimination of segment were done in error, an improvement of accuracy will be expected if the interpolation segment is set as S.sub.4.
To solve the aforementioned problem, the present applicant filed Japanese Patent Application No. 60-290797 and thereby proposed the process of comparing the absolute values of the detection voltages of a first loop from which the reversal of polarity of the magnetic field has first been detected by the coordinate designating member and a second loop preceding a given number of loops to the first loop in the direction of scanning to thereby determine a coarse region to be interpolated. This second prior invention obtains the comparative ratio between the absolute values of the detection voltages of the loops before and after the reversal of polarity has occurred to determine the coarse region which is subjected to interpolation. The principle of the foregoing process will now be described.
FIG. 10 shows the distribution of detection voltage obtained by the pickup, in which each curve is made straight for simplification. In the following description, similarly to the above, each segment is designated by S.sub.n (n: an integer) and the corresponding loop by L.sub.5n, the interpolation regions are of 10 mm long each, the segments are defined so as to overlap each other by a length of 5 mm, and the loops are arranged at 5 mm intervals.
In the case of the distribution of detection voltage shown in FIG. 10, detection voltages V.sub.n-2 and V.sub.n owing to loops L.sub.n-2 and L.sub.n are used in performing interpolation using segment S.sub.n-2. Let the X coordinate of the intersection point C.sub.1 of detection voltages V.sub.n-2 and V.sub.n-1 be A and the X coordinate of the intersection point C.sub.2 of detection voltages V.sub.n-1 and V.sub.n be B. Then, V.sub.n-2 has a smaller value than the other in the region of X&lt;A and V.sub.n has in the region of X&gt;B. In view of the performance of a circuit, it is preferred to employ a larger value than that at the intersection point C.sub.1 of V.sub.n-1 and V.sub.n-2 and at the intersection point C.sub.2 of V.sub.n and V.sub.n-1, hence, it is desirable to perform interpolation always within the region of A.ltoreq.X.ltoreq.B. That is, where the pickup stands on the right side of X=5(n-1)mm in FIG. 10, the reversal of polarity is detected for the first time when loop L.sub.n is driven. Accordingly, to meet the foregoing requirements, segment S.sub.n-2 must be selected when the pickup is within the region of 5(n-1)mm&lt;X&lt;B, whereas segment S.sub.n-1 be selected when it is within the region of B&lt;X&lt;5n mm. As the results of such selection, it is always possible to get detection voltages larger than those at the aforementioned points C.sub.1 and C.sub.2 and define the optimal region as the interpolation one.
Accordingly, the algorism of deducing the optimal segment with respect to the range of A&lt;X&lt;B is as below.
Assume that in the course of driving loops L.sub.0, L.sub.1, . . . in sequence, the reversal of polarity of the magnetic field strength H.sub.z has been detected for the first time upon coming to loop L.sub.n. Under this condition, ##EQU1## If so selected as above, the detection voltages for use in interpolation are always within the interpolation region and higher than the voltages at the intersection points C.sub.1 and C.sub.2, hence, it is possible to ensure a certain accuracy on interpolation.
An exemplary process of selecting the segments in accordance with the above algorism is shown in FIGS. 13 and 14. FIGS. 13 and 14 show the distribution of detection voltage in the vicinity of Y=100 mm and the interpolation regions corresponding to the respective distribution curves, in which rectangular blocks illustrated below the X axis represent the aforementioned segments S and it is intended to select one segment for interpolation when the pickup stands within the shaded portion thereof. However, the amount of shift of the field polarity reversing position becomes large in a peripheral portion of the input plane and the positions corresponding to A and B of FIG. 10 also shift such that they tend to come close to the segment boundary or come off a little from the segment concerned. In such a case, the aforementioned conditional equations are changed to EQU 1 S.sub.n-1 is selected when .vertline.V.sub.n /V.sub.n-1 .vertline.&lt;2 EQU 2 S.sub.n-2 is selected when .vertline.V.sub.n /V.sub.n-1 .vertline..gtoreq.2
By the use of the algorism above it becomes possible to select a proper segment.
The foregoing second prior invention selects a proper segment through obtaining the comparative ratio of the voltage values. Although it is necessary to change the reference value of the comparative ratio with respect to the periperal portion of the input plane, this prior invention makes it possible to use a proper segment in the vicinity of position A or B of FIG. 10 with respect to the peripheral portion of the input plane. However, this process has a fear that a voltage to be used in interpolation will take a small value and that a coordinate output will become unstable when performing the detection of high accuracy, thereby resulting in a bad effect on the accuracy of detection. Further, since the detection is performed after changing the reference value of the comparative ratio depending upon a segment number, there is an anxiety that the algorism of detection will become too complicated.
In view of the foregoing, the present applicant filed Japanese Patent Application No. 61-106837 which proposes a coordinate detecting method of performing coordinate detection by the use of a comparatively simple algorism wherein the segments are offset a preset distance in the shift direction of the field polarity reversing position and an object segment is selected depending only upon the relative magnitude of V.sub.n, V.sub.n-1.
A coordinate input device disclosed in the foregoing third prior application will now be described.
FIG. 9 is a fundamental block diagram of the coordinate input device. In this drawing, the device comprises an input plane 2b equipped with main loops 2a and a compensating loop 3a, a driver 2 for sending a current of certain amplitude from an oscillator 1 to the main loops 2a, another driver 3 for sending a current to the compensating loop 3a, a pickup 6 including a magnetic field detecting coil and functioning as the coordinate detecting member, an amplifier circuit 7 for amplifying the output of the pickup 6, a polarity discriminator circuit 8, a detector circuit 9, sample-hold amplifiers 11 and 12, a multiplexer 13, an A/D converter 14, a ROM table 15 functioning as a first memory means storing therein compensation values, another ROM table 16 functioning as a second memory means storing therein correction values for correction of errors of interpolation values, and a control circuit 10. In addition, there are provided an X-direction switching circuit 4 in connection with the X-direction group of main loops 2a and a Y-direction switching circuit 5 in connection with the Y-direction group of main loops 2a.
The main loops 2a are embedded mutually parallelly in the input plane 2b at 5 mm intervals; one end of each loop L being connected to the switching circuit 4 (or, to the switching circuit 5 in the case of the Y-direction group) with the other end connected to a source line 2s, and are dimensioned so as to form an input plane surface measuring, for example, 200 mm.times.200 mm as a whole. The source line 2s is connected to the driver 2. The Y-direction loops are similarly arranged and oriented so as to intersect orthogonally the X-direction loops.
The compensating loop 3a is formed by a conductor independent of the main loops 2a, which is disposed in the vicinity of the source line 2s of the main loops 2a so as to surround all the main loops 2a, one end of this compensating loop 3a being connected to the driver 3 for sending thereto a current of certain amplitude in reverse to the current flowing through the source line 2s of the main loops 2a with the other end grounded. In the ROM table 15 functioning as the first memory means storing therein compensation values, there are stored compensation values pertinent to respective loops L and Y-direction (or X-direction) regions.
In this ROM table 15 are stored compensation values ISC relating to all the segments S.sub.n and to the respective main loops corresponding to the segments S.sub.n under the condition of the detection height Z=15 mm. In operation, a pertinent compensation value ISC is called up by the control circuit 10 in accordance with the detection results of the control circuit 10 and used to calculate an interpolation value by means of an arithmetic means included in the control circuit 10.
The ROM table 16 functioning as the second memory means storing therein correction values is used to obtain an accurate coordinate position from the thus calculated interpolation value through correction of its error. Specifically, in this table are stored correction values corresponding, for example, to each 0.1 mm increment of the interpolation value pertinent to the segment detected.
The pickup 6 includes in its tip portion the magnetic field detecting coil, a voltage produced by this magnetic field detecting coil being sent via the amplifier circuit 7 to the detector circuit 9 and the polarity discriminator circuit 8.
The operation of the foregoing coordinate input device will now be described.
The process of detecting the position of the pickup 6 is achieved principally through the three steps of detecting a coarse position or a segment of the pickup 6, performing interpolation or detecting a fine position within the thus detected segment, and combining the segment position and the fine position within the segment.
At the time of segment detection, first, the drivers 2 and 3 are operated by the use of a sinusoidal wave generated by the oscillator 1. As a result, a current is caused by the driver 2 to flow through the loops L in sequence, one specified via the switching circuits 4 and 5 by the control circuit 10 at a time. During the above, a current having an amplitude equal to one-half that of the current flowing through the main loop 2a is caused by the driver 3 to flow through the compensating loop 3a.
As the individual loops L are scanned by the current, the magnetic field generated by the effective loop L is sensed by the pickup 6 and amplified by the amplifier circuit 7 into a signal of desired amplitude. This signal is compared in terms of phase with the output of the oscillator 1 by the polarity discriminator (phase comparator) circuit 8. In other words, the polarity of the magnetic field is detected at this time. Assume that the output of the polarity discriminator circuit 8 was "H" when the loop L on the left-hand side in the drawing of the pickup 6 was driven. Hence, the polarity of the magnetic field detected reverses when the loop L on the right-hand side of the pickup 6 is driven, as a result, the output of the polarity discriminator circuit also reverses and becomes "L".
Therefore, as the loops L are selected and supplied in sequence with the current in the order of X.sub.0, X.sub.1, X.sub.2, . . . X.sub.n, loop L.sub.n is detected in the vicinity of the pickup 6 by which the output of the polarity discriminator circuit 8 was reversed. After the perception of this loop L.sub.n, the system detects a voltage V.sub.n owing to this loop L.sub.n and another voltage V.sub.n-1 owing to the preceding loop L.sub.n-1, compares the two voltages V.sub.n and V.sub.n-1, and determines in accordance with a given algorism a region (segment) to be interpolated.
If an object segment (S.sub.n-2, for example, in FIG. 10) is determined, the control circuit first selects loop L.sub.n-2 located at the left-hand end of that segment S.sub.n-2. Then, the signal passed through the pickup 6 and the amplifier circuit 7 is converted by means of the detector circuit 9 into a dc signal and held in the sample-hold circuit 11 in the form of a dc voltage.
Thereafter, the control circuit 10 selects loop L.sub.n located at the right-hand end of segment S.sub.n-2, and similarly to the above, another dc voltage obtained by the detector circuit 9 is held in the sample-hold circuit 12. Then, the voltages held in the sample-hold circuits 11 and 12 are selected by the multiplexer 13 in accordance with the signal from the control circuit 10 and converted by the A/D converter 14 into a digital form to get the voltages V.sub.n-2 and V.sub.n owing to loops L.sub.n-2 and L.sub.n.
Then, the control circuit 10 turns off all the switching circuits 4 and 5. As a result, the aforementioned predetermined current flows only through the compensating loop 3a. By A/D-converting a detected output it is possible to obtain a voltage V.sub.c pertinent to the compensating loop 3a through the same process as above.
Subsequently, the control circuit 10 calls up from the ROM table 15 a compensation value ISC corresponding to the value (the distance) of the segment obtained through segment discrimination in the X-/Y-direction, and causes the arithmetic means included in the control circuit 10 to calculate an interpolation value P' by substituting the detected voltages V.sub.n-2, V.sub.n and V.sub.c and the ISC in the following equation (2) involving the compensation value: ##EQU2##
If this interpolation value P' is calculated, the ROM table 16, in which correction values P for correction of the aforementioned errors are stored, is accessed to obtain a coordinate value which specifies a position within the segment. Then, the positional coordinate (S.sub.n .times.5.0+.alpha.) of the segment and the coordinate value P within that segment are combined by the arithmetic means included in the control circuit to calculate the ultimate X coordinate of the designation position of the pickup 6 in accordance with the following equation: EQU X=(S.sub.n .times.5.0+.alpha.)+P(mm)
where S.sub.n : the segment number
P: the correction value obtained by amending the interpolation value PA1 .alpha.: the amount of shift of segment S (for example, .alpha.=-2.5, 0, +2.5, which is preset in accordance with the presence/absence and the direction of the offset of the segment and is adequately selected by a software).
A similar group of segments is defined with respect to the Y direction, thus, the system can calculate the Y coordinate of the designation position through a similar detection operation and deliver the calculated coordinate value via an interface circuit 17 to the side of a host computer.
As described hereinabove, because coordinate detection errors arise due to the shift of the polarity reversing position of the magnetic field, the aforementioned prior inventions intended to reduce errors as far as possible by introducing the compensation value or correction value to interpolate a correct coordinate position between segments, or by selecting a segment providing less errors.
These prior ideas were originated from the configuration wherein the segments are defined on the basis of a given spacing between loops. Therefore, because the arrangement of segments was determined from the viewpoint of hardware without consideration of the amount of shift, the algorism of calculation became complicated.